package com.diqye.common;

import com.diqye.db.Tinfo;
import com.diqye.db.model.XModel;
import com.diqye.engine.DBController;

/**
 * 对一张表的增删改操作
 * @author qinzl
 *
 */
public class CommonController extends DBController {
	
	protected Class<? extends Tinfo> tinfoClass;
	public CommonController(Class<? extends Tinfo> tinfoClass){
		this.tinfoClass = tinfoClass;
	}
	
	public void save(){
		XModel model = getParams();
		model.setTinfo(tinfoClass);
		renderOk(db.save(model));
	}
	
	public void modify(){
		XModel model = getParams();
		model.setTinfo(tinfoClass);
		renderOk(db.update(model));
	}
	
//	public void modifyOrAdd(){
//		XModel model = getParams();
//		model.setTinfo(tinfoClass);
//		renderOk(model.save(true));
//	}
	
	public void delete(){
		XModel model = getParams();
		model.setTinfo(tinfoClass);
		renderOk(db.delete(model));
	}
	
	
//	public void deleteMultiById(){
//		XModel model = getParams();
//		Tinfo tinfo=XManage.getTinfo(tinfoClass);
//		String key = tinfo.getPrimaryKey().get(0);
//		List<String> keyValues = model.getT(key);
//		String type = model.gts("type");
//		if(type!=null){
//			if("string".equals(type)){
//				for(int i=0;i<keyValues.size();i++){
//					keyValues.set(i, "'"+keyValues.get(i)+"'");
//				}
//			}
//		}
//		
//		int result = XExceute.update("delete from ${0} where ${1} in(${2})",
//				tinfo.getTablename(),
//				key,
//				Strings.join(keyValues, ","));
//		renderOk(result);
//	}
	
	public void findById(){
		XModel model = getParams();
		model.setTinfo(tinfoClass);
		renderOk(db.findById(model));
	}
	
	
}
